package com.gylang.im.core.annontion;

import java.lang.annotation.*;

/**
 * @author gylang,
 * date 2020/5/3,
 * @version 1.0
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RequirePermission {

    /**
     * 所需角色类型
     * @return 角色类型
     */
    String[] roles() default "";

    /**
     * 角色关联方式 默认并集
     * @return 关联方式默认并集
     */
    boolean roleUnion() default true;
    /**
     * 所需权限类型
     * @return 所需权限类型
     */
    String[] permissions() default "";


    /**
     * 权限关联方式 默认并集
     * @return 关联方式默认并集
     */
    boolean permissionUnion() default true;


}
